¿Qué es la administración de recursos de datos? ¿Qué son los recursos dentro de un sistema? ¿Qué programa se utiliza para crear una base de datos?

RECURSO DE DATOS

El procesamiento transaccional, OLTP (online transaction processing), se refiere a lo vinculado al procesamiento de las operaciones corrientes. Genera nuevos datos que deben ser organizados y almacenados, también modificaciones a datos existentes y ocasionalmente eliminaciones.

Desde hace décadas existen los sistemas de administración de base de datos, pero antes de su utilización, la organización y administración de datos se realizaba con el contexto tradicional de archivos. Cada entidad (persona, objeto, transacción o evento) constituía un archivo lógico distinto. El archivo tenía diferentes registros lógicos, todos los registros lógicos tenían normalmente el mismo diseño y todos los datos de cada registro lógico estaban juntos físicamente en el medio de almacenamiento. Cada registro lógico tenía un conjunto de datos denominados campos. Cada dato o campo tenía una longitud en bytes determinada y si no había dato real, se dejaba en blanco o en cero, pero ocupando lugar físico tanto en la memoria como en el medio de almacenamiento. Los datos básicamente eran alfanuméricos conformados por letras y/o números y datos numéricos.

Una base de datos es físicamente un archivo (o más de uno) que contiene muchos archivos lógicos y que se denominan tablas. Cada tabla tiene las características básicas de un archivo lógico tradicional.

MODELADO DE DATOS

Cuando diseñamos un sistema de información es primordial tener en cuenta los datos que debemos manejar y almacenar. Recurrimos al modelado de datos que permite ir definiendo una representación que formaliza y que vincula la realidad con nuestro diseño.

Clasificación:

Modelo de datos conceptual: permite identificar globalmente las entidades de datos (por ej. Clientes, proveedores, empleados, etc) sus principales campos o atributos, sus interrelaciones y las restricciones de integridad. No depende de la implementación real.

La herramienta más usada es el diagrama de entidad-relación (DER)

- Modelo de datos lógicos:

(o modelo de implementación) incorpora las operaciones. Están relacionados con la implementación de algún sistema de administración de base de datos. Es dependiente del modelo que utilice SABD (sistema de administración de base de datos). Por ej. El modelo relacional, jerárquico, de red y orientado a objetivos.

- Modelo de datos físicos:

se refiere a la implementación física de las estructuras de datos a bajo nivel, como se almacenan en el medio de almacenamiento y a los métodos de acceso a los datos, por lo que tiene una alta dependencia del SGBD a utilizar.

En la definición y relación de los datos hay restricciones de integridad de los mismos. Las mismas pueden ser de contenido o dominio, por ejemplo, el dato sexo puede tomar valores M o F; de restricciones entre campos, por ej. Que para aceptar la licencia por maternidad el sexo debe ser F; o de relaciones (o de integridad referencial), por ej. No puede eliminarse un artículo de la tabla respectiva, si hay movimientos que referencian dicho artículo en alguna otra tabla.

HERRAMIENTAS DE MODELADO DE DATOS

El diagrama de entidad-relación (DER):

gráfica las entidades representadas por cuadrados y las relaciones entre ellas, representadas por líneas. Dentro de los cuadrados se identifican los atributos de la entidad, encabezados por él o los atributos que se denomina clave principal o primaria y que permiten diferenciar los distintos registros de la entidad, de tal manera que no haya una duplicación de clave principal entre dos o más registros de la entidad (tabla). Utilizamos como clave principal aquel atributo que sería imposible que se repita.

ARCHIVOS TRADICIONALES

Cada archivo lógico contenía datos de una única entidad. Había archivos maestros de artículos, clientes, proveedores, empleados, cuentas contables, etc. Y archivos de movimientos o transaccionales como los de cuentas corrientes, asientos, liquidaciones, etc. Pero cada uno tenía datos sólo de una de esas entidades. Por ej. un registro lógico contenía todos los datos de un cliente.

Para mejorar el rendimiento de la computadora los registros lógicos se podían agrupar en registros físicos.

El proceso de actualización y manejo de datos se realizaba con programas ad hoc.

Si se deseaba modificar un archivo lógico necesariamente implicaba que había que modificar la parte pertinente de todos los programas que usaban ese archivo lógico, aunque sólo lo usará para leer algún dato.

Se definían distintos archivos de artículos para aplicaciones de facturación y producción. Cada aplicación (por ej. Producción, ventas, compras y contabilidad) contiene sus diferentes programas y sus propios archivos, para el caso de las tres primeras cada una con su propio archivo de artículos por ej.

Los principales problemas del entorno tradicional de archivos son:

- La alta dependencia entre programas y datos

- La poca flexibilidad resultante

- La alta dificultad para compartir datos entre aplicaciones y su consecuente baja integración

- La redundancia con la consiguiente alta posibilidad de inconsistencia de los datos redundantes

- Una escasa seguridad en el acceso, exhibición y administración de los datos

Tipos:

Un archivo maestro es una colección de datos referidos a una entidad, por ej., en una empresa tendremos archivos maestros de artículos, clientes, vendedores, proveedores, cuentas contables, empleados, etc. Por ejemplo, el archivo de clientes tendrá por cada uno el número de cliente, el nombre, el dom. Legal, el dom. de entregas, los números y datos impositivos, etc. Incluso podemos tener otros archivos asociados; un archivo aparte con el nro. De cliente, el tipo de cuenta de correo y la cuenta de correo electrónico.

Los archivos de transacciones o movimientos conservan las distintas transacciones o movimiento que se refieren o realizan las distintas entidades. Por ejemplo el archivo de cuenta corriente tendrá las facturas, notas de débito, notas de crédito y cobranzas o pagos de los clientes o proveedores, un archivo de movimientos de stock almacenará las entradas y salidas de cada artículo, otro guardará las liquidaciones de sueldo de cada empleado, o los asientos contables.

Métodos de organización y acceso:

Cualquiera sea la forma en que se organicen los datos, existen dos formas de acceso.

El acceso secuencial, implica que los datos se irán accediendo uno a continuación de otro, a los efectos de realizar el procesamiento.

El acceso directo resulta indispensable para la mayoría de las transacciones, se pueden obtener los datos necesarios en sólo unos pocos accesos al medio de almacenamiento.

En la organización secuencial, los registros lógicos se encuentran uno a continuación del otro, ordenados de acuerdo a uno o más campos denominados clave, por ej. Número de clientes. Para llegar a un cliente hay que pasar por todos los anteriores.

En el caso de la organización secuencial indexada, además de los datos en el archivo se almacenan índices. Los registros de datos también se guardan ordenados por la clave, pero un registro de índices indica que de tal a tal registro están en tal ubicación y así sucesivamente.

En un archivo con organización directa (o relativa), cada posible clave tiene un lugar reservado dentro del archivo. Por ej. El cliente 1 tiene la posición 1, el cliente 10 la posición 10 y así sucesivamente. Si el cliente 2 no existe, la posición está vacía. Para acceder a un cliente determinado, leemos el registro de igual número, en un solo acceso directo. Si queremos leer todos los clientes secuencialmente, leemos los registros por número consecutivo, saltando las posiciones vacías. La clave debe ser numérica y correlativa, y la cantidad de registros activos debe ser alta en comparación con la cantidad de claves posible, para no desperdiciar espacio de almacenamiento.

BASES DE DATOS

Una base de datos es una colección de datos almacenados en un formato estandarizado. Físicamente es uno o más archivos.

Un sistema de administración de base de datos (SGBD o DBMS) es un software que posibilita definir una base de datos, guardar los datos, permitir un lenguaje de consulta (SQL), generar informes y crear formularios o pantallas para ingresar datos.

Existen distintos tipos de base de datos (modelos lógicos), las jerárquicas, de red, relacionales (y multidimensionales) y orientadas a objetos.

El modelo jerárquico fue el primero y se caracterizaba por implementar una relación de datos de uno a muchos. Un nodo padre puede tener muchos nodos hijos, pero no al revés.

El modelo de red permitió implementar relaciones de datos muchos con muchos, y el acceso a los datos puede tener varias trayectorias, un nodo hijo también puede tener varios nodos padres.

En la década del ́ 70 Edgar F. Codd, formuló las bases del modelo relacional. Se basó en el uno de relaciones. Básicamente, se definen grupos de datos como tablas (o relaciones) y cada tabla guarda los atributos en columnas (o campos). Las tablas no se conectan físicamente entre sí; las conexiones se establecen a través de datos comunes o coincidentes entre distintas tablas.

Una base de datos multidimensional se diferencia de una relacional en forma conceptual; el diseño y uso de las relaciones es más eficiente para el procesamiento transaccional, mientras que las multidimensionales (formando cubos multidimensionales) buscan eficiencia para el uso de herramientas de inteligencia de negocios.

El modelo orientado a objetos puede verse como una extensión del modelo relacional, donde se aplican las características de orientación a objetos. Con este modelo se pueden definir operaciones, procedimientos o métodos sobre los datos, integrando la definición de base de datos.

Los distintos datos que componen un registro lógico no se encuentran necesariamente juntos físicamente, sino que pueden estar guardados en distintos lugares del medio de almacenamiento (pero se encuentran vinculados entre sí). Por esta característica si debe agregarse un campo a una tabla, no resulta necesario modificar ningún programa, salvo que deba usar ese nuevo dato. Para agregar un campo nuevo al diseño de una tabla hay que modificar sólo los programas que deba almacenar o recuperar ese nuevo dato.

Los datos que no están no ocupan lugar y los que están, ocupan el lugar justo y necesario.

Si se agrega una nueva tabla en la base de datos, no resulta obligatorio ni necesario modificar los programas que utilicen las otras tablas de esa base de datos.

Los programas no necesitan leer todas las tablas de la base de datos, ni tenerlas internamente definidas o sus diseños. Y cuando leen una tabla, tampoco necesitan leer todos los campos, pudiendo indicar la lista de campos que se quieren leer o bien indicando que se lean todos los datos, pero sin tener que poner el nombre de cada campo. Cuando se graban datos en una tabla, tampoco es necesario que se graben todos los campos de la tabla; si se graba una modificación, el resto de los datos permanecerán sin ninguna modificación y con los datos que tenía anteriormente; y si es una inserción en la tabla, los campos para los que no se indique contenido, serán valores nulos o el valor que se haya establecido como valor predeterminado.

En los SABD las bases de datos pueden ser distribuidas, pueden tener réplicas automáticas, copias que pueden funcionar como resguardo automático frente a la caída de una de ella para lograr mayor rendimiento y el manejo de transacciones.

Una transacción es un conjunto de cambios (inserciones, modificaciones y eliminaciones) que se realizan sobre la base de datos con motivo de una operación que se tratarán como una unidad. Por ej. Al realizar una factura o nota de venta se deberá grabar la factura en la tabla de cuentas corrientes, actualizar el saldo del cliente, grabar las salidas de cada uno de los artículos que componen la factura, actualizar los saldos de los artículos, actualizar el pedido, etc. En medio de esas inserciones y actualizaciones de datos puede ocurrir un corte de suministro eléctrico, la falla de la computadora o el disco o cualquier accidente que impida culminar de hacer todos los cambios requeridos. Un programa puede indicar el comienzo y el fin de las actualizaciones de la base de datos que componen la transacción (factura) de manera que si no se culmina exitosamente de realizarlas, ya sea en forma automática por el SABD o bien por indicación del programa, todos los cambios realizados dentro de la transacción hasta el momento serán revertidos (operación de rollback).

Oro problema de integridad de los datos aparece si distintos usuarios desean modificar los mismos datos al mismo tiempo. Este acceso concurrente puede ser manejado directamente por el SABD o por los programas, a través de los denominados bloqueos optimistas y pesimistas.

Los SABD pueden ser de uso gratuito (MS SQL Server Express, Mysql o PostGreSQL), semi-gratuitos (Microsoft Access) y pagos (MS SQL Server, Oracle, DB2 o Sybase).

Componentes básicos de los SABD:

Motor:

Es el componente que realiza todas las operaciones físicas sobre las bases de datos. Es el componente que más incide sobre el rendimiento. También se encarga de controlar las restricciones de integridad.

Diccionario de datos:

Contiene las definiciones de todas las tablas de la base de datos.

Procesador de consulta:

Es el componente esencial de un SABD. El lenguaje de consulta estructurado SQL es la forma más habitual o a veces única para poder realizar operaciones sobre la base de datos, tanto en forma directa por parte de un usuario; como a través de los programas de aplicación que también utilizan estas sentencias de almacenamiento o recuperación de datos.

Existe un SQL estándar, aunque los distintos desarrolladores de SABD siempre realizan agregados o cambios que diferencian levemente la sintaxis del SQL para ese SABD en particular. Pueden incluir por ejemplo el nombre con que se identifica un tipo de dato numérico, de fecha o de texto.

El lenguaje SQL tiene dos tipos de sentencias: las sentencias de definición de datos, DDL (data definition language) y las sentencias de manipulación de datos, DML (data manipulation language). Las primeras permiten definir tablas, campos, e índices, mientras que las segundas permiten generar “vistas lógicas” de los datos combinando una o más tablas y también insertar, modificar y eliminar registros o conjuntos de registros. Las vistas lógicas son conjuntos de datos de una o más tablas que son definidas por una sentencia SQL y que son vistos como si fueran una tabla real específica, que el motor construye en el momento, que es transitoria y desaparece al terminar la aplicación o cuando ésta decide cerrar esa vista.

Generador de reportes:

Permite que sin necesidad de líneas de código, un usuario pueda definir reportes o listados con los datos necesarios.

El reporte gira alrededor de una consulta que es analizada por el procesador de consultas y ejecutada por el motor, devolviendo el conjunto de datos solicitado por la sentencia de consulta. El generador de reportes formatea dichos datos con la presentación definida por el usuario.

Generador de formularios:

Este componente crea formularios simples para el ingreso y la búsqueda de datos. Utilizará el procesador de consultas, el diccionario de datos y el motor para su funcionamiento.

Generador de aplicaciones:

Una aplicación es un conjunto de opciones de ingreso de datos, procesamiento de los mismos y presentación de datos e información en informes o listados por pantalla y/o en forma impresa. Reúne estas opciones de una manera integrada, ágil y sencilla de usar, a través de menús, barras de herramientas, ayuda contextual, etc, típica de cualquier software que utilicemos.

Comunicación e Integración:

Algunos SGBD permiten almacenar y recuperar datos de distintas bases de datos físicas o lógicas, que pueden estar en distintas computadoras e incluso en distintos lugares físicos. Además hay componentes que permiten que los lenguajes de programación puedan conectarse con el procesador de consultas, diccionario de datos y con el motor de la base de datos.

Seguridad y utilidades:

Permiten administrar seguridad en cualquier tipo de acceso a la base de datos, así como privilegios o permisos a usuarios para realizar determinadas acciones. Los SABD pueden implementar las restricciones de integridad vistas de tal manera que los distintos programas respeten las mismas reglas. El manejo de transacciones descrito también permite elevar el nivel de integridad de la base de datos.

Adicionalmente existen módulos que permiten la administración de usuarios de la base de datos, tareas de resguardo y recupero (backups), así como herramientas de monitoreo de rendimiento o para mostrar la estrategia de procesamiento frecuente a una sentencia SQL.

En los SABD se reduce o elimina los problemas del entorno tradicional de archivos.

Existe una alta independencia entre la disposición física de los datos y cómo los programas acceden a ellos. Cómo se pueden agregar campos a las tablas existentes y nuevas tablas sin que los programas deban ser necesariamente modificados, el uso de SABD facilita enormemente el desarrollo de las aplicaciones y su posterior mantenimiento, permitiendo una gran flexibilidad en la administración de las estructuras de datos.

Redujo la redundancia de datos y aumentó la capacidad de integración, al resolverse problemas de codificaciones diferentes para los mismos artículos o clientes, código de operaciones diferentes para las mismas operaciones o códigos iguales para operaciones distintas.

INTELIGENCIA DE NEGOCIOS

Este software tiene como objetivo la explotación y exploración de datos para dar soporte a la toma de decisiones. Las principales herramientas son los reportes, el análisis multidimensional (OLAP) , los tableros de control y cuadro de mando integral y la minería de datos.

Datos de distintas fuentes se compilan formando un almacén de datos (data warehouse). Esos datos provienen del procesamiento transaccional de la organización (OLTP). Los procesos para incluir esos datos en el DW se denominan ETL (extracción, transformación y carga en inglés).

Los datos que se incluyen en un DW están enfocados para resolver las necesidades de información y se utilizarán con algún software de inteligencia de negocios. Los datos deben integrarse para lograr una mejor información del conjunto de la organización. Se van acumulando históricamente y consecuentemente, los datos no son volátiles. Los procesos ETL se realizan en forma programada, a intervalos regulares de tiempo y de tal manera de no entorpecer el procesamiento transaccional.

Data Mart (mercado de datos) es un subconjunto de datos del DW más acotado o específico sobre algún tema o área de la organización.

Técnicamente, sería posible aplicar las herramientas de inteligencia de negocios sobre las bases de datos transaccionales. Pero el uso de este tipo de herramientas no es simplemente obtener reportes gerenciales agregados y/o integrados.

Los almacenes de datos guardan datos de muy diversas fuentes internas y externas, con registros históricos de más antigüedad, muchas veces con redundancia controlada, con tablas diseñadas pensando en las herramientas que se utilizarán y con características de mayor integración organizacional.

Generalmente un DW se arma como si fuera un cubo multidimensional. Las herramientas OLAP permiten obtener información interactivamente utilizando distintas perspectivas. El usuario puede desagregar los datos para obtener más detalles o resumir la información obteniendo totales o pivotar para cambiar la perspectiva de análisis.

El diseño de un cubo OLAP se basa en almacenar medidas de distintas dimensiones. Las medidas son datos como la cantidad o el valor de venta y las dimensiones (lados del cubo) son atributos como x ej., el artículo o producto, el cliente, fecha, etc. Una tabla de hechos es generalmente una tabla de detalle de operaciones, x ej. De ventas, que contendrá las medidas o valores y varias otras columnas que son las dimensiones (que tienen sus propias tablas).

Existen dos tipos de diseño OLAP:

Diseño de estrella: las tablas dimensionales (artículos, clientes, etc) se relacionan en forma directa con la tabla de hechos.

Diseño de copo de nieve: pueden existir niveles en las tablas de dimensiones y, por lo tanto, puede no haber una relación directa

Un modelo mixto puede tener dimensiones de ambos tipos.

Si utilizamos una base de datos relacional, estaremos en presencia del denominado ROLAP y si utilizamos una base de datos multidimensional recibe el nombre de MOLAP.